package com.zhipu.balance.mobile.dao;

import android.text.TextUtils;

import com.raizlabs.android.dbflow.sql.language.SQLite;
import com.zhipu.balance.mobile.event.RecordDaMi;
import com.zhipu.balance.mobile.event.RecordDaMi_Table;
import com.zhipu.balance.mobile.event.RecordRapeseed;
import com.zhipu.balance.mobile.event.RecordRapeseed_Table;
import com.zhipu.balance.mobile.event.RecordSoybean;
import com.zhipu.balance.mobile.event.RecordSoybean_Table;
import com.zhipu.balance.mobile.event.RecordWheat;
import com.zhipu.balance.mobile.event.RecordRapeseed_Table;

import java.util.List;

public class RecordRapeseedDao {

    private RecordRapeseedDao() {
    }

    private static final class SingletonHolder {
        private static final RecordRapeseedDao INSTANCE = new RecordRapeseedDao();
    }

    public static RecordRapeseedDao getInstance() {
        return SingletonHolder.INSTANCE;
    }





    /**
     * 获取所有数据
     *
     * @return
     */
    public List<RecordRapeseed> getAllList() {
        return SQLite.select().from(RecordRapeseed.class).where().orderBy(RecordRapeseed_Table.recordRapeseedId, true).queryList();
    }


    /**
     * 分页获取
     *
     * @param nowPage
     * @param uniqueId
     * @return
     */
    public List<RecordRapeseed> PagingFetch(int nowPage, String uniqueId) {
        if (TextUtils.isEmpty(uniqueId)) {
            return SQLite.select().from(RecordRapeseed.class).where().orderBy(RecordRapeseed_Table.recordRapeseedId, false).limit(9).offset(nowPage).queryList();
        } else {
            return SQLite.select().from(RecordRapeseed.class).where(RecordRapeseed_Table.uniqueId.like("%" + uniqueId + "%")).orderBy(RecordRapeseed_Table.recordRapeseedId, false).limit(9).offset(nowPage).queryList();
        }
    }

    /**
     * 根据编号查询
     * @param productCategoryText
     * @return
     */
    public RecordRapeseed QueryByNumber(String productCategoryText){
        RecordRapeseed mRecordRapeseed = SQLite.select().from(RecordRapeseed.class).where(RecordRapeseed_Table.uniqueId.eq(productCategoryText)).querySingle();
        if(null == mRecordRapeseed){
            mRecordRapeseed = new RecordRapeseed();
        }
        return mRecordRapeseed;
    }

    /**
     * 总条数
     * @return
     */
    public long TotalCount(String uniqueId){
        if(TextUtils.isEmpty(uniqueId)){
            return SQLite.selectCountOf().from(RecordRapeseed.class).count();
        }else {
            return SQLite.selectCountOf().from(RecordRapeseed.class).where(RecordRapeseed_Table.uniqueId.eq(uniqueId)).count();
        }
    }


    /**
     * 根据编号获取数据
     * @param uniqueId
     * @return
     */
    public List<RecordRapeseed> getUniqueIdList(String uniqueId){
        List<RecordRapeseed> mRecordRapeseedList = null;
        if (!TextUtils.isEmpty(uniqueId)) {
            mRecordRapeseedList = SQLite.select().from(RecordRapeseed.class).where(RecordRapeseed_Table.uniqueId.like("%" + uniqueId + "%"),
                    RecordRapeseed_Table.impurityAverageValue.eq(false),
                    RecordRapeseed_Table.sproutWeightValue.eq(false),
                    RecordRapeseed_Table.moldWeightValue.eq(false),
                    RecordRapeseed_Table.thermalDamageValue.eq(false),
                    RecordRapeseed_Table.immatureGrainValue.eq(false)
            ).queryList();
        }
        return mRecordRapeseedList;
    }
}
